import ajax from '../utils/axios';

// 员工相应模块

// 员工信息管理

export async function getStaffList(params){
   // interface params {
  //   page:      string;
  //   size:         string;
  //   name: string;
    //   id_card
  // }
  const res=await ajax.get(`/staff/info`, {params});
  return res.data.data;
}

export async function getStaffDetail(id){
 const res=await ajax.get(`/staff/info/${id}`);
 return res;
}

export async function createStaff(params){
//   interface params {
//     address:      string;
//     bank_card:    string;
//     bank_id:      number;
//     birth:        string;
//     gender:       number;
//     id_card:      string;
//     nickname:     string;
//     phone_number: string;
//     post_id:      number;
//     salary:       string;
//     status:       boolean;
//     username:     string;
//  }
  const res=await ajax.post(`/staff/info`,params);
  return res.data.data;
}

export async function editStaff(id,params){
  //  interface params {
  //   address:      string;
  //   bank_card:    string;
  //   bank_id:      number;
  //   birth:        string;
  //   gender:       number;
  //   id_card:      string;
  //   nickname:     string;
  //   phone_number: string;
  //   post_id:      number;
  //   salary:       string;
  //   status:       boolean;
  // }
  const res=await ajax.put(`/staff/info/${id}`, params);
  return res.data.data;
}

export async function delStaff(id){
  const res=await ajax.delete(`/staff/info/${id}`);
  return res.data.data;
}

export async function batchDelStaff(user_ids){
  const res=await ajax.delete(`/staff/info/batch_delete`, user_ids);
  return res.data.data;
}

// 员工考勤管理

export async function clockRule(){
  const res=await ajax.get(`/staff/clock_rule`);
  return res.data.data;
}

// 修改考勤规则
export async function editClockRule(params){
  // interface clockRule {
  //   clock_in_time:  string;
  //   clock_out_time: string;
  // }
  const res=await ajax.put(`/staff/clock_rule`,params);
  return res.data.data;
}

// 查询员工考勤记录
export async function getClockList(params){
  // interface params {
  //   page:  string;
  //   size: string;
  //   name :string;
  //   date_time : string; 2023-03-21
  // }
  const res=await ajax.get(`/staff/clock`,{params});
  return res.data.data;
}

// 工资管理

export async function salaryRule(){
  const res=await ajax.get(`/staff/salary_rule`);
  return res.data.data;
}

// 修改工资规则
export async function editSalaryRule(params){
  // interface params {
  //   absenteeism_once_rule: number;
  //   late_once_rule:        number;
  //   leave_early_once_rule: number;
  //   personal_once_rule:    number;
  //   sick_once_rule:        number;
  // }
  const res=await ajax.put(`/staff/salary_rule`,params);
  return res.data.data;
}

export async function getSalaryList(params){
  // interface params {
  //   page:  string;
  //   size: string; 
  //   month :string;  2023-03
  // }
  const res=await ajax.get(`/staff/salary`,{params});
  return res.data.data;
}


export async function getPostType(){
  const res=await ajax.get(`/staff/post_types`);
  return res.data.data;
}

// 查询工资记录
export async function getUserSalaryList(params){
  const res=await ajax.get(`/salary`,{params});
  return res.data.data;
}


